home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / B-Book Series / (k)b4.d64 / quicksort.l < prev    next >
Text File  |  2007-02-28  |  749b  |  23 lines

  1. 0010 DIM NAME$(11) OF 3, COMP$ OF 3, TEMP$ OF 3
  2. 0020 FOR K:=1 TO 11 DO READ NAME$(K)
  3. 0030 QUICK(1,11)
  4. 0040 FOR K:=1 TO 11 DO PRINT NAME$(K);" ";
  5. 0050 PROC QUICK(LEND,REND) 
  6. 0060 LEFT':=LEND; RIGHT':=REND
  7. 0070 COMP$:=NAME$((LEFT'+RIGHT') DIV 2)
  8. 0080 REPEAT 
  9. 0090 WHILE NAME$(LEFT')<COMP$ DO LEFT':=LEFT'+1
  10. 0100 WHILE NAME$(RIGHT')>COMP$ DO RIGHT':=RIGHT'-1
  11. 0110 IF LEFT'<=RIGHT' THEN SWAP
  12. 0120 UNTIL LEFT'>RIGHT'
  13. 0130 IF LEND<RIGHT' THEN QUICK(LEND,RIGHT')
  14. 0140 IF LEFT'<REND THEN QUICK(LEFT',REND)
  15. 0150 ENDPROC QUICK
  16. 0160 PROC SWAP 
  17. 0170 TEMP$:=NAME$(LEFT')
  18. 0180 NAME$(LEFT'):=NAME$(RIGHT')
  19. 0190 NAME$(RIGHT'):=TEMP$
  20. 0200 LEFT':=LEFT'+1; RIGHT':=RIGHT'-1
  21. 0210 ENDPROC SWAP
  22. 9030 DATA "JIM","BEN","ZOE","PAT","VAL","KEN","RON","HAL","LEN","ALF","TOM"
  23.